Proving that systems code eventually does something good

نویسندگان

  • Byron Cook
  • Alexey Gotsman
  • Andreas Podelski
  • Moshe Vardi
چکیده

In recent years we have seen great progress made in the area of automatic source-level static analysis tools. However, all of today’s program verification tools are limited to properties that guarantee the absence of bad events (called safety properties). Until now no formal software analysis tool has provided support for automatically proving properties that ensure that good events eventually happen (called liveness properties), i.e. no tool has supported proving the absence of liveness bugs. In this paper we present such an automatic tool, called VIVO, which handles both safety and liveness properties of large systems written in C. The tool attempts to prove properties of programs; failed proofs result in counterexamples which are presented back to the user. We have used the tool to automatically prove critical liveness properties of Windows device drivers. Furthermore, we have found several previously unknown liveness bugs.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Sooner is Safer Than Later

It has been observed repeatedly that the standard safety-liveness classi cation for properties of reactive systems does not t for real-time properties. This is because the implicit \liveness" of time shifts the spectrum towards the safety side. While, for example, response | that \something good" will happen eventually | is a classical liveness property, bounded response | that \something good"...

متن کامل

-

The development and evolution of any system–person, organization–nation depends on how the system succeeds to bridge the gap between what the system knows and what the system does (with the knowledge). We call this the gap between knowing and doing or the knowing-doing gap. If the system does not do what it knows, it will lose out in competition with other systems, its relative performance in...

متن کامل

A Comparative Study on Presumption of Marriage Rule and Genetic Testing for Proving Parentage Under Iranian Law

Family is the most important social group, and the survival of society depends on the survival of the family and its survival depends on legitimate parentage and legal ties. Therefore, the issue of proving the parentage is one of the most sensitive issues in the Islamic law and the legislator has tried to preserve it by enacting laws. From the beginning of Islam until now, in Imami jurisprudenc...

متن کامل

Inference of ranking functions for proving temporal properties by abstract interpretation

We present new static analysis methods for proving liveness properties of programs. In particular, with reference to the hierarchy of temporal properties proposed by Manna and Pnueli, we focus on guarantee (i.e., “something good occurs at least once”) and recurrence (i.e., “something good occurs infinitely often”) temporal properties. We generalize the abstract interpretation framework for term...

متن کامل

Lrn/r-maude Based Approach for Modeling and Simulation of Mobile Code Systems

Code mobility technologies attract more and more developers and consumers. Numerous domains are concerned, many platforms are developed and interest applications are realized. However, developing good software products requires modeling, analyzing and proving steps. The choice of models and modeling languages is so critical on these steps. Formal tools are powerful in analyzing and proving step...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006